/**
 * axios 全局拦截处理类
 */
import axios from "axios"
import qs from "qs"
import _config from "../../config/config"

let debug = false;

let pack = true;//打包部署时改为true

axios.defaults.headers.systemid = "stgl"

//拦截请求（用来配置请求时的全局变量，如请求头）
axios.interceptors.request.use(config => {
	if(debug) {
		console.log("....................开始请求远程服务器..........................");
		console.log(config);
	}
	config["Content-Type"] = "application/json";
	if(pack) {
		var url = config["url"];
		url = _config._ADMIN_SERVER + url.substring(5, url.length);
		config["url"] = url;
	}
	//对提交参数序列化
	config.data = qs.stringify(config.data);
	return config;
})

//拦截响应时全局处理

//响应成功时拦截处理
axios.interceptors.response.use(response => {
		if(debug) {
			console.log(response);
			console.log("....................请求远程服务器完成..........................");
		}
		
		return response.data;
	}),

	//响应失败是拦截处理
	(err => {
		if(debug) {
			console.log("....................请求远程服务器出现异常..........................");
			console.log(err.response);
		}
		return Promise.reject(err);
	})

export default axios;